package com.zcc.makingfriend.mapper;

import com.zcc.makingfriend.dao.Category;
import com.zcc.makingfriend.dto.PageDto;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author zcc
 */
@Mapper
public interface CategoryMapper {
    /**
     * 新增分类
     * @param category
     * @return
     */
    int addCategory(Category category);

    /**
     * 删除分类
     * @param id
     * @return
     */
    int deleteCategory(Long id);

    /**
     * 修改分类信息
     * @param category
     * @return
     */
    int updateCategory(Category category);

    /**
     * 查询所有分类
     * @return
     */
    List<Category> findAllCategory();

    /**
     * 找到已经存在的分类
     * @return
     */
    List<Category> findCategory();

    /**
     * 分页查询分类
     * @param page
     * @param size
     * @return
     */
    List<Category> findCategoryByPage(int page, int size);

    /**
     * 模糊查询分类
     * @param pageDto
     * @return
     */
    List<Category> findCategoryByCondition(PageDto pageDto);

    /**
     * 通过标题查找分类
     * @param title
     * @return
     */
    Category findCategoryByTitle(String title);

    /**
     * 通过uuid查找分类
     * @param uuid
     * @return
     */
    Category findCategoryByUuid(String uuid);

    /**
     * 统计分类数量
     * @return
     */
    Long countCategory();

    /**
     * 统计模糊查询的分类数量
     * @param pageDto
     * @return
     */
    Long countCategoryByCondition(PageDto pageDto);
}
